//
//  HNSH_ChatNetServer.h
//  HNSH_SingleProject
//
//  Created by 李宇廷 on 2023/2/16.
//

#import <Foundation/Foundation.h>
#import "ST_BaseNetManager.h"

NS_ASSUME_NONNULL_BEGIN

@interface HNSH_ChatNetServer : NSObject

//获取好友列表
+ (NSURLSessionTask *)requestRongCloudFriendshipListSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

//获取好友详情
+ (NSURLSessionTask *)requestRongCloudFriendDetailWithRcUserId:(NSString *)rcUserId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

//好友【删除】
+ (NSURLSessionTask *)requestRongCloudFriendshipDeleteWithRcUserId:(NSString *)rcUserId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

//好友【更新】备注
+ (NSURLSessionTask *)requestRongCloudFriendshipUpdateWithRcUserId:(NSString *)rcUserId display_name:(NSString *)display_name success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

//举报用户
+ (NSURLSessionTask *)requestRongCloudFriendshipReportWithRcUserId:(NSString *)rcUserId reason:(NSString *)reason success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

//好友【申请】
+ (NSURLSessionTask *)requestRongCloudFriendshipInviteWithRcUserId:(NSString *)rcUserId message:(NSString *)message display_name:(NSString *)display_name target_type:(NSString *)target_type success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

//用户搜索
+ (NSURLSessionTask *)requestRongCloudFriendshipSearchUserWithSearchKey:(NSString *)search_key success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

//创建群聊
+ (NSURLSessionTask *)requestRongCloudGroupCreateWithUserIds:(NSArray *)userIds success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//二维码信息【其他】
+ (NSURLSessionTask *)requestRongCloudGroupQrcodeinfoWithQrcode:(NSString *)qrcode success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//二维码信息【自己】
+ (NSURLSessionTask *)requestRongCloudGroupQrcodeWithGroupId:(NSString *)groupId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//申请加群
+ (NSURLSessionTask *)requestRongCloudGroupJoinWithQrcode:(NSString *)qrcode success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//群成员信息【分页】
+ (NSURLSessionTask *)requestRongCloudGroupMemberListWithGroupId:(NSString *)groupId pageNum:(NSInteger)pageNum success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//获取群信息
+ (NSURLSessionTask *)requestRongCloudGroupInfoWithGroupId:(NSString *)groupId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//退出群聊
+ (NSURLSessionTask *)requestRongCloudGroupQuitWithGroupId:(NSString *)groupId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//群成员信息
+ (NSURLSessionTask *)requestRongCloudGroupMembersWithGroupId:(NSString *)groupId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//群聊好友编号
+ (NSURLSessionTask *)requestRongCloudGroupFriendWithGroupId:(NSString *)groupId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//添加群成员
+ (NSURLSessionTask *)requestRongCloudGroupAddWithGroupId:(NSString *)groupId member_ids:(NSArray *)member_ids success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//移除群成员
+ (NSURLSessionTask *)requestRongCloudGroupKickWithGroupId:(NSString *)groupId member_ids:(NSArray *)member_ids success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//批量增加管理员
+ (NSURLSessionTask *)requestRongCloudGroupManagerAddWithGroupId:(NSString *)groupId member_ids:(NSArray *)member_ids success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//批量删除管理员
+ (NSURLSessionTask *)requestRongCloudGroupManagerRemoveWithGroupId:(NSString *)groupId member_ids:(NSArray *)member_ids success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



//融云群聊【修改群头像】
+ (NSURLSessionTask *)requestRongCloudGroupChangePortraitWithGroupId:(NSString *)groupId portrait_url:(NSString *)portrait_url success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//融云群聊【添加直推粉丝】
+ (NSURLSessionTask *)requestRongCloudGroupInviteFansWithGroupId:(NSString *)groupId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//重命名群聊
+ (NSURLSessionTask *)requestRongCloudGroupRenameWithGroupId:(NSString *)groupId name:(NSString *)name success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//发布群公告
+ (NSURLSessionTask *)requestRongCloudGroupChangeBulletinWithGroupId:(NSString *)groupId bulletin:(NSString *)bulletin success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//群状态切换
/// @param groupId groupId description
/// @param switch_type 状态类型切换 1:邀请确认开关 2:群聊名称开关
/// @param success success description
/// @param failure failure description
+ (NSURLSessionTask *)requestRongCloudGroupSwitchStatusWithGroupId:(NSString *)groupId switch_type:(NSInteger )switch_type success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//解散群
+ (NSURLSessionTask *)requestRongCloudGroupDismissWithGroupId:(NSString *)groupId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//申请加群列表
+ (NSURLSessionTask *)requestRongCloudGroupApplyListWithGroupId:(NSString *)groupId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//好友【未读数量】
+ (NSURLSessionTask *)requestRongCloudFriendshipUnreadCountSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure ;


//群申请同意
+ (NSURLSessionTask *)requestRongCloudGroupAgreeWithRcUserId:(NSString *)rcUserId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//设置群名称备注
+ (NSURLSessionTask *)requestRongCloudGroupChangeUpdateDisplayNameWithGroupId:(NSString *)groupId name:(NSString *)name success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//查询用户列表和群列表
+ (NSURLSessionTask *)requestRongCloudGroupInfoListWithGroupIds:(NSArray *)groupIds ids:(NSArray *)ids success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//融云群聊【官方群】
+ (NSURLSessionTask *)requestRongCloudGroupSpecialListSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//融云群聊【申请加群】
+ (NSURLSessionTask *)requestRongCloudGroupApplyWithGroupId:(NSString *)groupId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//新的好友【列表】
+ (NSURLSessionTask *)requestRongCloudNewFriendshipListSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//批量获取用户信息
+ (NSURLSessionTask *)requestRongCloudUserInfoListWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



//融云好友【拒绝】
+ (NSURLSessionTask *)requestRongCloudFriendshipIgnoreWithRcUserId:(NSString *)rcUserId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



//好友【同意】
+ (NSURLSessionTask *)requestRongCloudFriendshipAgreeWithRcUserId:(NSString *)rcUserId name:(NSString *)name success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//群聊列表
+ (NSURLSessionTask *)requestRongCloudGroupListWithPage:(NSInteger)pageNum success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



#pragma mark 融云自定义红包模块
//发红包
+ (NSURLSessionTask *)requestRongCloudRedPacketSendWithGroupId:(NSString *)group_id pay_password:(NSString *)pay_password title:(NSString *)title quantity:(NSString *)quantity amount:(NSString *)amount success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//红包详情
+ (NSURLSessionTask *)requestRongCloudRedPacketDetailWithRedId:(NSString *)redId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//红包记录
+ (NSURLSessionTask *)requestRongCloudRedPacketRecordWithPage:(NSInteger)pageNum selectIndex:(NSInteger)selectIndex success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//红包信息【群列表点击红包触发】
+ (NSURLSessionTask *)requestRongCloudRedPacketOpenInfoWithRedId:(NSString *)redId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



//拆红包
+ (NSURLSessionTask *)requestRongCloudRedPacketOpenWithRedId:(NSString *)redId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



@end

NS_ASSUME_NONNULL_END
